
// It's generated file. DO NOT MODIFY IT!

using Diablerie.Engine.Datasheets;
using Diablerie.Engine.IO.D2Formats;

class MissileInfoLoader : Datasheet.Loader<MissileInfo>
{
    private MissileInfoParamLoader missileinfoparamloader = new MissileInfoParamLoader();

    public void LoadRecord(ref MissileInfo record, DatasheetStream stream)
    {
                stream.Read(ref record.missile);
                stream.Read(ref record.id);
                stream.Read(ref record.clientDoFunc);
                stream.Read(ref record.clientHitFunc);
                stream.Read(ref record.serverDoFunc);
                stream.Read(ref record.serverHitFunc);
                stream.Read(ref record.serverDmgFunc);
                stream.Read(ref record.serverCalc1);
                stream.Read(ref record.serverCalc1Description);
                record.parameters = new MissileInfo.Param[5];
                    missileinfoparamloader.LoadRecord(ref record.parameters[0], stream);
                    missileinfoparamloader.LoadRecord(ref record.parameters[1], stream);
                    missileinfoparamloader.LoadRecord(ref record.parameters[2], stream);
                    missileinfoparamloader.LoadRecord(ref record.parameters[3], stream);
                    missileinfoparamloader.LoadRecord(ref record.parameters[4], stream);
                stream.Read(ref record.clientCalc1);
                stream.Read(ref record.clientCalc1Description);
                record.clientParameters = new MissileInfo.Param[5];
                    missileinfoparamloader.LoadRecord(ref record.clientParameters[0], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientParameters[1], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientParameters[2], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientParameters[3], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientParameters[4], stream);
                stream.Read(ref record.serverHitCalc1);
                stream.Read(ref record.serverHitCalc1Description);
                record.serverHitParameters = new MissileInfo.Param[3];
                    missileinfoparamloader.LoadRecord(ref record.serverHitParameters[0], stream);
                    missileinfoparamloader.LoadRecord(ref record.serverHitParameters[1], stream);
                    missileinfoparamloader.LoadRecord(ref record.serverHitParameters[2], stream);
                stream.Read(ref record.clientHitCalc1);
                stream.Read(ref record.clientHitCalc1Description);
                record.clientHitParameters = new MissileInfo.Param[3];
                    missileinfoparamloader.LoadRecord(ref record.clientHitParameters[0], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientHitParameters[1], stream);
                    missileinfoparamloader.LoadRecord(ref record.clientHitParameters[2], stream);
                stream.Read(ref record.damageCalc1);
                stream.Read(ref record.damageCalc1Description);
                record.damageCalcParameters = new MissileInfo.Param[2];
                    missileinfoparamloader.LoadRecord(ref record.damageCalcParameters[0], stream);
                    missileinfoparamloader.LoadRecord(ref record.damageCalcParameters[1], stream);
                stream.Read(ref record.velocity);
                stream.Read(ref record.maxVelocity);
                stream.Read(ref record.velocityPerLevel);
                stream.Read(ref record.accel);
                stream.Read(ref record.range);
                stream.Read(ref record.levRange);
                stream.Read(ref record.light);
                stream.Read(ref record.flicker);
                stream.Read(ref record.red);
                stream.Read(ref record.green);
                stream.Read(ref record.blue);
                stream.Read(ref record.initSteps);
                stream.Read(ref record.activate);
                stream.Read(ref record.loopAnim);
                stream.Read(ref record.celFile);
                stream.Read(ref record.animRate);
                stream.Read(ref record.animLen);
                stream.Read(ref record.animSpeed);
                stream.Read(ref record.randStart);
                stream.Read(ref record.subLoop);
                stream.Read(ref record.subStart);
                stream.Read(ref record.subStop);
                stream.Read(ref record._collideType);
                stream.Read(ref record.collideKill);
                stream.Read(ref record.collideFriend);
                stream.Read(ref record.lastCollide);
                stream.Read(ref record.collision);
                stream.Read(ref record.clientCol);
                stream.Read(ref record.clientSend);
                stream.Read(ref record.nextHit);
                stream.Read(ref record.nextDelay);
                stream.Read(ref record.xOffset);
                stream.Read(ref record.yOffset);
                stream.Read(ref record.zOffset);
                stream.Read(ref record.size);
                stream.Read(ref record.srcTown);
                stream.Read(ref record.clientSrcTown);
                stream.Read(ref record.canDestroy);
                stream.Read(ref record.toHit);
                stream.Read(ref record.alwaysExplode);
                stream.Read(ref record.explosion);
                stream.Read(ref record.town);
                stream.Read(ref record.noUniqueMod);
                stream.Read(ref record.noMultiShot);
                stream.Read(ref record.holy);
                stream.Read(ref record.canSlow);
                stream.Read(ref record.returnFire);
                stream.Read(ref record.getHit);
                stream.Read(ref record.softHit);
                stream.Read(ref record.knockBack);
                stream.Read(ref record.trans);
                stream.Read(ref record.useQuantity);
                stream.Read(ref record.pierce);
                stream.Read(ref record.specialSetup);
                stream.Read(ref record.missileSkill);
                stream.Read(ref record.skill);
                stream.Read(ref record.resultFlags);
                stream.Read(ref record.hitFlags);
                stream.Read(ref record.hitShift);
                stream.Read(ref record.applyMastery);
                stream.Read(ref record.srcDamage);
                stream.Read(ref record.half2HSrc);
                stream.Read(ref record.srcMissDamage);
                stream.Read(ref record.minDamage);
                record.minDamagePerLevel = new int[5];
                    stream.Read(ref record.minDamagePerLevel[0]);
                    stream.Read(ref record.minDamagePerLevel[1]);
                    stream.Read(ref record.minDamagePerLevel[2]);
                    stream.Read(ref record.minDamagePerLevel[3]);
                    stream.Read(ref record.minDamagePerLevel[4]);
                stream.Read(ref record.maxDamage);
                record.maxDamagePerLevel = new int[5];
                    stream.Read(ref record.maxDamagePerLevel[0]);
                    stream.Read(ref record.maxDamagePerLevel[1]);
                    stream.Read(ref record.maxDamagePerLevel[2]);
                    stream.Read(ref record.maxDamagePerLevel[3]);
                    stream.Read(ref record.maxDamagePerLevel[4]);
                stream.Read(ref record.damageSymPerCalc);
                stream.Read(ref record.eType);
                stream.Read(ref record.eMin);
                record.minEDamagePerLevel = new int[5];
                    stream.Read(ref record.minEDamagePerLevel[0]);
                    stream.Read(ref record.minEDamagePerLevel[1]);
                    stream.Read(ref record.minEDamagePerLevel[2]);
                    stream.Read(ref record.minEDamagePerLevel[3]);
                    stream.Read(ref record.minEDamagePerLevel[4]);
                stream.Read(ref record.eMax);
                record.maxEDamagePerLevel = new int[5];
                    stream.Read(ref record.maxEDamagePerLevel[0]);
                    stream.Read(ref record.maxEDamagePerLevel[1]);
                    stream.Read(ref record.maxEDamagePerLevel[2]);
                    stream.Read(ref record.maxEDamagePerLevel[3]);
                    stream.Read(ref record.maxEDamagePerLevel[4]);
                stream.Read(ref record.eDamageSymPerCalc);
                stream.Read(ref record.eLen);
                record.eLenPerLevel = new int[3];
                    stream.Read(ref record.eLenPerLevel[0]);
                    stream.Read(ref record.eLenPerLevel[1]);
                    stream.Read(ref record.eLenPerLevel[2]);
                stream.Read(ref record.hitClass);
                stream.Read(ref record.numDirections);
                stream.Read(ref record.localBlood);
                stream.Read(ref record.damageRate);
                stream.Read(ref record.travelSoundId);
                stream.Read(ref record.hitSoundId);
                stream.Read(ref record.progSoundId);
                stream.Read(ref record.progOverlayId);
                stream.Read(ref record.explosionMissileId);
                record.subMissileId = new string[3];
                    stream.Read(ref record.subMissileId[0]);
                    stream.Read(ref record.subMissileId[1]);
                    stream.Read(ref record.subMissileId[2]);
                record.hitSubMissileId = new string[4];
                    stream.Read(ref record.hitSubMissileId[0]);
                    stream.Read(ref record.hitSubMissileId[1]);
                    stream.Read(ref record.hitSubMissileId[2]);
                    stream.Read(ref record.hitSubMissileId[3]);
                record.clientSubMissileId = new string[3];
                    stream.Read(ref record.clientSubMissileId[0]);
                    stream.Read(ref record.clientSubMissileId[1]);
                    stream.Read(ref record.clientSubMissileId[2]);
                record.clientHitSubMissileId = new string[4];
                    stream.Read(ref record.clientHitSubMissileId[0]);
                    stream.Read(ref record.clientHitSubMissileId[1]);
                    stream.Read(ref record.clientHitSubMissileId[2]);
                    stream.Read(ref record.clientHitSubMissileId[3]);
                stream.Read(ref record.eol);
    }
}
